// test_2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <stdio.h>
// 7-1 蛇形打印矩阵
void test2_7_1()
{
    int n = 0;
    int mat[50][50];
    scanf("%d", &n);

    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            scanf("%d", &mat[i][j]);
    }

    for (int i = 0; i < n; i++)
    {
        if (i % 2 == 0)
        {
            for (int j = 0; j < n; j++)
                printf("%d ", mat[i][j]);
        }
        else
        {
            for (int j = n - 1; j >= 0; j--)
                printf("%d ", mat[i][j]);
        }
    }
}
// 7-2 唯一的数

int test2_7_2()
{
    int matrix[100][100] = {0};
    int bucket[10001] = {0};
    int m, n;
    scanf("%d%d", &m, &n);

    int flag = 0;

    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            scanf("%d", &matrix[i][j]);
            bucket[matrix[i][j]]++;
        }
    }

    for (int i = 0; i < m; i++)
        for (int j = 0; j < n; j++)
        {
            if (bucket[matrix[i][j]] == 1)
            {
                printf("%d ", matrix[i][j]);
                flag = 1;
            }
        }

    if (!flag)
    {
        printf("0 ");
    }
}

// 7-3 寻找众数
void test2_7_3()
{
    int a, n;
    scanf("%d", &n);

    int mode = 0, count = 0;

    for (int i = 0; i < n; ++i)
    {
        scanf("%d", &a);
        if (count == 0)
        {
            mode = a;
            count = 1;
        }
        else if (a == mode)
        {
            count++;
        }
        else
        {
            count--;
        }
    }

    printf("%d", mode);
}

// 7-4 消失的数
void test2_7_4()
{
    int a, n;
    scanf("%d", &n);
    int miss = n;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a);
        miss ^= i ^ a;
    }

    printf("%d", miss);
}

// 7-5 合并数组
void test2_7_5()
{
    int a[1000], b[1000], c[2000];

    int m, n, k = 0;

    scanf("%d%d", &m, &n);

    for (int i = 0; i < m; i++)
        scanf("%d", a + i);

    for (int j = 0; j < n; j++)
        scanf("%d", b + j);

    int i = 0, j = 0;
    while (i < m || j < n)
    {
        if (i >= m)
            c[k++] = b[j++];
        else if (j >= n)
            c[k++] = a[i++];
        else
        {
            if (a[i] < b[j])
                c[k++] = a[i++];
            else
                c[k++] = b[j++];
        }
    }

    for (i = 0; i < k; i++)
        printf("%d ", c[i]);
}

int main()
{
}